/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}
/* some usual fonts */
@import url(http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800);
@import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700);
/**/
html {font-family: sans-serif;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;}
body {margin: 0;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {display: block;}
audio,canvas,progress,video {display: inline-block;vertical-align: baseline;}
a {background-color: transparent;}
a:active,a:hover {outline: 0;}
b,strong {font-weight: bold;}
sub,sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
img {border: 0;}
svg:not(:root) {overflow: hidden;}
hr {-moz-box-sizing: content-box;box-sizing: content-box;height: 0;}
pre {overflow: auto;}
code,kbd,pre,samp {font-family: monospace, monospace;font-size: 1em;}
button,input,optgroup,select,textarea {color: inherit;font: inherit;margin: 0;}
button {overflow: visible;}
button,select {text-transform: none;}
button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button;cursor: pointer;}
button[disabled],html input[disabled] {cursor: default;}
button::-moz-focus-inner,input::-moz-focus-inner {border: 0;padding: 0;}
input {line-height: normal;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}
input[type="search"] {-webkit-appearance: textfield;-moz-box-sizing: content-box;-webkit-box-sizing: content-box;box-sizing: content-box;}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
fieldset {border: 1px solid #c0c0c0;margin: 0 2px;padding: 0.35em 0.625em 0.75em;}
legend {border: 0;padding: 0;}
textarea {overflow: auto;}
table {border-collapse: collapse;border-spacing: 0;}
td,th {padding: 0;}
/* some starter good ideas */
body{font:normal 13px/15px Arial,sans-serif;color:#6a6a6a;}
header,article,footer{min-width:310px;max-width:1270px;padding: 0 5px 10px;margin: 0 auto;}
article>p, article>div>p{margin:0;padding: 0 0 2%;line-height:18px;text-align:justify;}
ul.styled{margin:0;padding:0;list-style:none;}
/**/





/* media queries */

@media only screen and (min-width: 480px) {

}

@media only screen and (min-width: 640px) {

}

@media only screen and (min-width: 768px) {

}

@media only screen and (min-width: 950px) {

}

@media only screen and (min-width: 1024px) {

}

@media only screen and (min-width: 1280px) {

}
/**/
.clear-left{clear:left;}
.clear-right{clear:right;}
.clear-both{clear:both}
.clearfix:before,.clearfix:after {content: " ";display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
/**/
/* Lightbox * /
body:after {content: url(visual/close.png) url(visual/loading.gif) url(visual/prev.png) url(visual/next.png);display: none;}
.lightboxOverlay {position: absolute;top: 0;left: 0;z-index: 9999;background-color: black;filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);opacity: 0.8;display: none;}
.lightbox {position: absolute;left: 0;width: 100%;z-index: 10000;text-align: center;line-height: 0;font-weight: normal;}
.lightbox .lb-image {display: block;height: auto;max-width: inherit;-webkit-border-radius: 3px;-moz-border-radius: 3px;-ms-border-radius: 3px;-o-border-radius: 3px;border-radius: 3px;}
.lightbox a img {border: none;}
.lb-outerContainer {position: relative;background-color: white;*zoom: 1;width: 250px;height: 250px;margin: 0 auto;-webkit-border-radius: 4px;-moz-border-radius: 4px;-ms-border-radius: 4px;-o-border-radius: 4px;border-radius: 4px;}
.lb-outerContainer:after {content: "";display: table;clear: both;}
.lb-container {padding: 4px;}
.lb-loader {position: absolute;top: 43%;left: 0;height: 25%;width: 100%;text-align: center;line-height: 0;}
.lb-cancel {display: block;width: 32px;height: 32px;margin: 0 auto;background: url(visual/loading.gif) no-repeat;}
.lb-nav {position: absolute;top: 0;left: 0;height: 100%;width: 100%;z-index: 10;}
.lb-container > .nav {left: 0;}
.lb-nav a {outline: none;background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');}
.lb-prev, .lb-next {height: 100%;cursor: pointer;display: block;}
.lb-nav a.lb-prev {width: 34%;left: 0;float: left;background: url(visual/prev.png) left 48% no-repeat;filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity: 0;-webkit-transition: opacity 0.6s;-moz-transition: opacity 0.6s;-o-transition: opacity 0.6s;transition: opacity 0.6s;}
.lb-nav a.lb-prev:hover {filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity: 1;}
.lb-nav a.lb-next {width: 64%;right: 0;float: right;background: url(visual/next.png) right 48% no-repeat;filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity: 0;-webkit-transition: opacity 0.6s;-moz-transition: opacity 0.6s;-o-transition: opacity 0.6s;transition: opacity 0.6s;}
.lb-nav a.lb-next:hover {filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity: 1;}
.lb-dataContainer {margin: 0 auto;padding-top: 5px;*zoom: 1;width: 100%;-moz-border-radius-bottomleft: 4px;-webkit-border-bottom-left-radius: 4px;border-bottom-left-radius: 4px;-moz-border-radius-bottomright: 4px;-webkit-border-bottom-right-radius: 4px;border-bottom-right-radius: 4px;}
.lb-dataContainer:after {content: "";display: table;clear: both;}
.lb-data {padding: 0 4px;color: #ccc;}
.lb-data .lb-details {width: 85%;float: left;text-align: left;line-height: 1.1em;}
.lb-data .lb-caption {font-size: 13px;font-weight: bold;line-height: 1em;}
.lb-data .lb-number {display: block;clear: left;padding-bottom: 1em;font-size: 12px;color: #999999;}
.lb-data .lb-close {display: block;float: right;width: 30px;height: 30px;background: url(visual/close.png) top right no-repeat;text-align: right;outline: none;filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);opacity: 0.7;-webkit-transition: opacity 0.2s;-moz-transition: opacity 0.2s;-o-transition: opacity 0.2s;transition: opacity 0.2s;}
.lb-data .lb-close:hover {cursor: pointer;filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity: 1;}
/**/
/* ===== casinoadm redesign (concept 2026-07, ported 2026-07-31) ===== */

:root{
  --navy:#0c2340; --navy-deep:#081831;
  --paper:#f7f8fa; --card:#ffffff; --ink:#171b26; --muted:#5c6472; --hair:#dfe3ea;
  --azzurro:#2563a8; --azzurro-deep:#1c4d84; --verified:#1f6f43; --verified-bg:#e8f3ec;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;font-size:16px}
a{color:var(--azzurro)}
img{max-width:100%}

/* ---------- concept ribbon ---------- */



/* ---------- header ---------- */
.site-header{background:var(--navy);color:#f2f4f8;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08),0 6px 18px rgba(8,24,49,.28)}
.header-inner{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:var(--serif);font-size:1.22rem;font-weight:600;letter-spacing:.14em}
.brand-tag{font-size:.56rem;letter-spacing:.16em;color:#9fb0c6;margin-top:3px}
.main-nav{margin-left:auto;display:flex;gap:26px}
.main-nav a{color:#d6dee9;text-decoration:none;font-size:.9rem;padding:6px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a[aria-current]{color:#fff;border-bottom-color:#fff}


/* ---------- hero ---------- */
.hero{background:linear-gradient(180deg,var(--navy) 0%,#12315a 100%);color:#f2f4f8}
.hero-inner{max-width:1140px;margin:0 auto;padding:64px 20px 92px;display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);column-gap:48px}
.hero h1{grid-row:2;grid-column:1;font-family:var(--serif);font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12;margin:0 0 18px;max-width:17ch;text-wrap:balance;font-weight:600}
.hero-sub{grid-row:3;grid-column:1;max-width:56ch;color:#c3cedd;font-size:1.06rem;margin:0;padding-bottom:30px}
.hero-temple{grid-row:2/4;grid-column:2;justify-self:center;display:flex;justify-content:center;opacity:.08;pointer-events:none;min-height:0}
.hero-temple svg{height:100%;width:auto}
@media (max-width:820px){.hero-inner{display:block}.hero-temple{display:none}}
.hero-updated{grid-row:4;grid-column:1;margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);max-width:640px;font-size:.8rem;color:#8ea0b9}
.hero-updated strong{color:#c3cedd;font-weight:600}
.hero-updated a{color:#c3cedd;text-decoration:underline;text-underline-offset:2px}
.hero-updated a:hover{color:#fff}

/* ---------- search panel (overlaps hero) ---------- */
.search-panel{max-width:1140px;margin:-60px auto 0;padding:0 20px;position:relative;z-index:5}
.search-card{background:var(--card);border:1px solid var(--hair);border-radius:8px;box-shadow:0 18px 40px rgba(12,35,64,.14);padding:22px 24px}
.search-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.search-input{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;border:1.5px solid var(--hair);border-radius:4px;padding:10px 14px;background:var(--paper)}
.search-input:focus-within{border-color:var(--azzurro);background:#fff}
.search-input svg{flex:none}
.search-input input{border:0;outline:0;background:transparent;font-size:1rem;width:100%;font-family:var(--sans);color:var(--ink)}
.sort-select{border:1.5px solid var(--hair);border-radius:4px;padding:10px 12px;font-size:.9rem;background:#fff;color:var(--ink);font-family:var(--sans)}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{border:1px solid var(--rule2);background:#fff;border-radius:4px;padding:5px 12px;font-size:.82rem;color:var(--ink);cursor:pointer;font-family:var(--sans);transition:all .15s}
.chip:hover{border-color:var(--azzurro);color:var(--azzurro)}
.chip[aria-pressed="true"]{background:var(--azzurro);border-color:var(--azzurro);color:#fff}
.result-count{margin-left:auto;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}

/* ---------- colonnade divider ---------- */
.colonnade{display:flex;align-items:center;gap:18px;max-width:1140px;margin:56px auto 40px;padding:0 20px}
.colonnade::before,.colonnade::after{content:"";flex:1;height:1px;background:var(--hair)}
.colonnade svg{color:#a9b4c4;flex:none}

/* ---------- directory ---------- */
.directory{max-width:1140px;margin:0 auto;padding:0 20px}
.section-head{max-width:1140px;margin:0 auto;padding:0 20px}
h2{font-family:var(--serif);font-size:1.7rem;margin:0 0 8px;font-weight:600;text-wrap:balance}
.section-lede{color:var(--muted);max-width:68ch;margin:0 0 26px}
.op-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin:40px 0 8px}
/* flip card: front = logo + licence + CTA, back = logo + concessionario + year + CTA.
   Idle cards are COMPLETELY FLAT (faces swap via visibility): any persistent
   perspective/preserve-3d/backface puts faces on composited layers that turn
   blurry on mobile or after a viewport switch. The 3D properties exist only
   while .animating, driven by JS, then removed. */
.op-card{position:relative;height:256px;cursor:pointer}
.op-card-inner{position:relative;width:100%;height:100%}
.op-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:12px 16px 16px;transition:box-shadow .15s}
.op-card:hover .op-face{box-shadow:0 10px 26px rgba(12,35,64,.1)}
.op-back{visibility:hidden}
.op-card.flipped .op-front{visibility:hidden}
.op-card.flipped .op-back{visibility:visible}
.op-card.animating{perspective:1000px}
.op-card.animating .op-card-inner{transform-style:preserve-3d}
.op-card.animating .op-face{visibility:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.op-card.animating .op-back{transform:rotateY(180deg)}
/* touch devices flip via a quick crossfade: opacity animations never
   re-rasterize the layer, so the faces stay sharp for the whole movement
   (3D rotation rasterizes blurry on mobile for its entire duration) */
.op-card.fading .op-face{visibility:visible;transition:opacity .22s ease}
.op-card.fading .op-front{opacity:1}
.op-card.fading .op-back{opacity:0}
.op-card.fading.flipped .op-front{opacity:0}
.op-card.fading.flipped .op-back{opacity:1}
.op-flip-hint{align-self:flex-end;display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--muted);font-size:.72rem;font-family:var(--sans);cursor:pointer;padding:2px 0;margin-bottom:10px}
.op-flip-hint svg{flex:none}
.op-flip-hint:hover{color:var(--azzurro)}
/* the CTA lives INSIDE the grey panel, which continues a little below it
   (reference: casinoitaliani cards, Claudio 2026-07-31) */
.op-panel{width:100%;flex:1;min-height:0;background:#eef1f6;border:1px solid var(--hair);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px}
.op-panel > :first-child{margin-top:auto}
.op-logo{max-height:52px;max-width:70%;width:auto;height:auto;flex:none}
.op-logo-fallback{font-family:var(--sans);font-weight:700;color:var(--navy);font-size:1.1rem}
.op-lic{font-size:.78rem;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.op-adm{height:13px;width:37px;vertical-align:-2px}
.op-meta{display:flex;flex-direction:column;gap:3px;font-size:.82rem;color:var(--muted);margin:0;text-align:center;width:100%}
.op-meta b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.op-cta{margin-top:auto;width:100%;text-align:center;background:var(--azzurro);color:#fff;text-decoration:none;border-radius:4px;padding:9px 14px;font-size:.9rem;font-weight:600;transition:background .15s;flex:none}
.op-cta:hover{background:var(--azzurro-deep)}
.op-more{display:flex;justify-content:center;margin:24px 0 8px}
.op-more-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--azzurro);color:var(--azzurro);background:#fff;border-radius:4px;padding:10px 28px;font-size:.92rem;font-weight:600;font-family:var(--sans);cursor:pointer;transition:all .15s}
.op-more-btn:hover{background:var(--azzurro);color:#fff}
.op-more-btn .op-more-range{font-weight:400;font-size:.8rem;opacity:.85}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.op-empty{display:none;text-align:center;color:var(--muted);padding:40px 0}
.op-empty.show{display:block}

/* ---------- garanzie band ---------- */
.band{background:var(--navy);color:#e8edf4;margin:64px 0}
.band-inner{max-width:1140px;margin:0 auto;padding:56px 20px}
.band h2{color:#fff}
.band .section-lede{color:#b9c6d8}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:34px}
.feature{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:20px 20px 18px}
.feature-kicker{font-family:var(--sans);font-size:1.06rem;font-weight:600;color:#fff;display:block;margin-bottom:6px}
.feature p{font-size:.9rem;color:#b9c6d8;margin:0}

/* ---------- lista 52: interactive schede ---------- */
.dir-wrap{max-width:1140px;margin:6px auto 40px;padding:0 20px}
.alpha-bar{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 18px;padding:10px 12px;background:var(--card);border:1px solid var(--hair);border-radius:8px}
.alpha-bar a,.alpha-bar span{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:.86rem;font-weight:600;font-variant-numeric:tabular-nums}
.alpha-bar a{color:var(--azzurro);text-decoration:none}
.alpha-bar a:hover{background:var(--azzurro);color:#fff}
.alpha-bar span{color:#c3ccd8}
.dir-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media (max-width:820px){.dir-list{grid-template-columns:1fr}}
.dir-card{background:var(--card);border:1px solid var(--hair);border-radius:8px;margin:0;scroll-margin-top:86px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.dir-card:hover{border-color:#c5d2e2}
.dir-card[open]{border-color:#b9cadd;box-shadow:0 12px 30px rgba(12,35,64,.09)}
.dir-card summary{display:flex;align-items:center;gap:16px;padding:13px 18px;cursor:pointer;list-style:none;transition:background .15s}
.dir-card summary:hover{background:#f4f7fb}
.dir-card summary::-webkit-details-marker{display:none}
.dir-card summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);flex:none;margin-left:auto;transition:transform .15s}
.dir-card[open] summary::after{transform:rotate(-135deg)}
.dir-logo{width:72px;height:72px;border-radius:50%;background:#fff;border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;transition:border-color .15s}
.dir-logo img{width:80%;height:80%;object-fit:contain}
.dir-card[open] .dir-logo{border-color:var(--azzurro)}
.dir-logo-fallback{background:var(--navy);color:#f2f4f8;font-family:var(--sans);font-weight:700;font-size:1.05rem}
.dir-brand{font-family:var(--sans);font-size:1.12rem;font-weight:700;color:var(--navy);line-height:1.2}
.dir-body{padding:4px 18px 18px;border-top:1px solid var(--hair)}
.dir-card[open] .dir-body{animation:dirFade .22s ease}
@keyframes dirFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dir-card[open] .dir-body{animation:none}}
.dir-body>p{color:#3d4452;font-size:.93rem;line-height:1.6;margin:14px 0 2px}
.chip-kicker{display:block;font-size:.8rem;color:var(--navy);font-weight:600;margin:15px 0 7px}
.dir-chips{display:flex;flex-wrap:wrap;gap:6px}
.dir-chip{font-size:.78rem;border-radius:4px;padding:3px 10px;border:1px solid var(--rule2);color:var(--ink);background:#fff}
.dir-chip.game{background:#e9f1f9;border-color:#cfdff0;color:#1d4d7c;font-weight:600}
.dir-chip.prev{color:var(--muted);background:var(--paper)}
.dir-chip.app{background:#f3f9f5;border-color:#cfe3d6;color:#1f6f43}
a.dir-chip.link{color:var(--azzurro);text-decoration:none;font-weight:600;border-color:#c9daf0}
a.dir-chip.link:hover{background:var(--azzurro);border-color:var(--azzurro);color:#fff}

/* ---------- quote di mercato (pie chart) ---------- */
.market-flex{display:flex;gap:44px;align-items:center;flex-wrap:wrap;justify-content:center}
.market-flex svg{flex:none;max-width:100%;height:auto}
.market-legend{margin:0;padding-left:22px;font-size:.92rem;color:#3d4452}
.market-legend li{margin:0 0 9px}
.market-legend li::marker{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.market-legend li,.market-altri{white-space:nowrap}
.market-legend .market-dot,.market-altri .market-dot{display:inline-block;vertical-align:-1px;margin-right:7px}
.market-legend b,.market-altri b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.market-altri{margin:12px 0 0 22px;font-size:.92rem;color:#3d4452}
.market-dot{width:12px;height:12px;border-radius:4px;flex:none}
.market-figure svg text{font-family:var(--sans)}
.market-figure figcaption{margin-top:16px;font-size:.78rem;color:var(--muted);text-align:center}

/* ---------- prose (editorial sections) ---------- */
.prose{max-width:1140px;margin:0 auto;padding:0 20px}
.prose h2{font-size:1.45rem;margin:56px 0 14px}
.prose h3{font-family:var(--serif);color:var(--navy);font-size:1.12rem;font-weight:600;margin:32px 0 8px}
.prose p{color:#3d4452;font-size:.95rem;line-height:1.65;margin:0 0 14px}
.prose p strong,.prose li strong{color:var(--navy)}
.prose ul{margin:0 0 16px;padding-left:22px;color:#3d4452;font-size:.95rem;line-height:1.6}
.prose li{margin:0 0 8px}
.prose a{color:var(--azzurro)}
.prose code{font-family:var(--sans);font-size:.88em;background:#eef2f7;border-radius:4px;padding:1px 5px}
.prose figure.infographic{margin:26px 0;padding:18px;background:var(--card);border:1px solid var(--hair);border-radius:8px}
.table-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:8px;background:var(--card);margin:10px 0 20px}
.prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0;font-variant-numeric:tabular-nums}
.prose th{text-align:left;font-size:.84rem;font-weight:600;background:var(--navy);color:#fff;padding:11px 16px;font-family:var(--sans)}
.prose td{border-bottom:1px solid var(--hair);padding:10px 16px}
.prose tbody tr:nth-child(even){background:#f4f7fb}
.prose tbody tr:last-child td{border-bottom:none}
.prose td a{text-decoration:none}

/* ---------- FAQ ---------- */
.faq{max-width:1140px;margin:0 auto;padding:0 20px 20px}
.faq details{border:1px solid var(--hair);border-radius:8px;background:var(--card);margin:0 0 10px;padding:0 18px}
.faq summary{font-family:var(--sans);font-weight:600;font-size:1.02rem;padding:15px 0;cursor:pointer;color:var(--navy);list-style-position:outside}
.faq details[open]{border-color:#c5d2e2}
.faq details p{margin:0 0 15px;color:#3d4452;font-size:.94rem}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:#a9b6c8;margin-top:70px;position:relative;overflow:hidden}
.footer-watermark{position:absolute;right:-30px;bottom:-40px;opacity:.05;pointer-events:none}
.footer-inner{max-width:1140px;margin:0 auto;padding:52px 20px 30px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;position:relative}
.footer-brand{display:flex;align-items:center;gap:12px;color:#f2f4f8;margin-bottom:12px}
.footer-brand .brand-name{font-size:1.05rem}
.footer-blurb{font-size:.84rem;max-width:34ch}
.footer-col-title{color:#fff;font-family:var(--sans);font-size:.96rem;margin:0 0 12px;font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 9px}
.site-footer a{color:#a9b6c8;text-decoration:none;font-size:.88rem}
.site-footer a:hover{color:#fff}
.footer-badges{display:flex;gap:12px;margin-top:18px;align-items:center;flex-wrap:wrap}
@media (max-width:820px){.footer-inner{grid-template-columns:1fr 1fr;row-gap:22px}.footer-inner>div:first-child{display:contents}.footer-brand,.footer-blurb,.footer-badges{grid-column:1/-1}.footer-brand{margin-bottom:0}.footer-blurb{max-width:none;margin:0}.footer-badges{order:10;margin-top:6px;justify-content:space-between;flex-wrap:nowrap;gap:8px}}
.badge-18-img{height:40px;width:auto;display:block}
.badge-plate{background:#fff;border-radius:8px;padding:6px 10px;display:flex;align-items:center}
.badge-plate img{height:28px;width:auto;display:block}
.footer-bottom{border-top:1px solid #22334c;max-width:1140px;margin:20px auto 0;padding:18px 20px 26px;font-size:.76rem;color:#7d8ba0;position:relative}

/* ---------- back to top ---------- */



/* ---- interactive layer (mockup 2026-09-17) ---- */
#tabella,#quiz,.search-panel,.prose h2[id],.faq h2[id]{scroll-margin-top:96px}
.page-cols{max-width:1140px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:44px;align-items:start}
.page-left{display:none;position:sticky;top:calc(var(--hdr-h,70px) - 36px);flex-direction:column;gap:16px;padding-top:56px;max-height:calc(100vh - var(--hdr-h,70px) + 20px);overflow-y:auto;scrollbar-width:thin;padding-right:2px}
@media (min-width:1280px){.page-cols{max-width:1270px;grid-template-columns:200px minmax(0,1fr) 300px;column-gap:36px}.page-left{display:flex}}
body.cmp-open .page-left{top:calc(var(--hdr-h,70px) + var(--bar-h,54px) - 36px)}
.left-card{background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:14px 14px 12px}
.left-card .side-kicker{margin-bottom:8px}
.toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc a{display:block;padding:6px 10px 6px 12px;border-left:2px solid var(--hair);color:var(--muted);text-decoration:none;font-size:.82rem;line-height:1.3;border-radius:0 6px 6px 0;transition:all .15s}
.toc a:hover{color:var(--navy);background:#f4f7fb}
.toc a.on{color:var(--navy);border-left-color:var(--azzurro);font-weight:600;background:#eef4fb}
.flt-label{display:block;font-size:.8rem;font-weight:600;color:var(--navy);margin:0 0 4px}
.flt-grp{padding:10px 0 6px;min-width:0}
.flt-grp+.flt-grp{border-top:1px solid var(--hair)}
.flt-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px}
@media (max-width:720px){.flt-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.flt-opts{grid-template-columns:1fr}}
.flt-opt{display:flex;align-items:center;gap:9px;padding:5px 8px;margin:0 -8px;border-radius:4px;font-size:.86rem;color:var(--ink);cursor:pointer;line-height:18px;min-width:0;transition:background .12s}
/* custom-drawn box: the native control is painted at fractional offsets on phones and its top border disappeared */
.flt-opt input{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin:0;flex:none;cursor:pointer;border:1.5px solid var(--rule2);border-radius:3px;background:#fff}
.flt-opt input:checked{border-color:var(--azzurro);background:var(--azzurro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.4l2.5 2.5 5.1-5.3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px 10px no-repeat}
.flt-opt input:focus-visible{outline:2px solid var(--azzurro);outline-offset:2px}
.flt-opt-t{flex:1;min-width:0}
.flt-opt-n{color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:6px}
.flt-opt.zero{color:var(--muted);opacity:.55}
.flt-opt.zero input{cursor:default}
/* hover only where a real pointer exists: on touch it would stick to the last tapped option */
@media (hover:hover){.flt-opt:hover:not(.zero){background:var(--paper)}.flt-opt.keep:hover{background:#d5e2f2}}
/* .keep = option currently checked (set by site.js, also keeps it visible when the group is collapsed) */
.flt-opt.keep{background:#e3ecf7;color:var(--navy);font-weight:600}
.flt-opt.keep .flt-opt-n{color:var(--azzurro-deep)}
.flt-grp:not(.open) .flt-opt.extra:not(.keep){display:none}
.flt-more{border:0;background:none;padding:4px 0 2px;color:var(--azzurro);font:600 .8rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.flt-more:hover{color:var(--azzurro-deep)}
.flt-count{font-size:.78rem;color:var(--muted);white-space:nowrap}
.flt-count b{color:var(--navy);font-variant-numeric:tabular-nums}
.flt-reset{border:0;background:none;color:var(--azzurro);font:600 .78rem var(--sans);cursor:pointer;text-decoration:underline;padding:0}
.flt-reset:disabled{color:var(--muted);text-decoration:none;cursor:default;opacity:.6}
.dir-empty{display:none;grid-column:1/-1;text-align:center;color:var(--muted);padding:26px 0;font-size:.92rem}
.dir-empty.show{display:block}
.dir-card.flt-out{display:none}
/* summary of the active filters, sticky above the schede grid on screens without the side rail: the filter block itself scrolls away */
.flt-sum{display:none;position:sticky;margin:0 0 12px;top:calc(var(--hdr-h,64px) + 8px);z-index:20;align-items:center;gap:14px;background:var(--card);border:1px solid var(--rule2);border-radius:6px;padding:9px 14px;font-size:.84rem;color:var(--ink);box-shadow:0 6px 18px rgba(8,24,49,.14)}
@media (max-width:1023px){.flt-sum.show{display:flex}}
body.cmp-open .flt-sum{top:calc(var(--hdr-h,64px) + var(--bar-h,54px) + 8px)}
.flt-sum-t{flex:1;min-width:0}
.flt-sum b{color:var(--navy);font-variant-numeric:tabular-nums}
.flt-sum-edit{color:var(--azzurro);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.flt-sum .flt-reset{font-size:.82rem;white-space:nowrap}
.flt-inline{scroll-margin-top:calc(var(--hdr-h,64px) + 12px)}
/* "copy the link" button inside each scheda: the #casino-<slug> anchor opens the card directly */
.dir-link{display:inline-flex;align-items:center;margin-top:14px;border:0;background:none;padding:0;color:var(--azzurro);font:600 .8rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left;word-break:break-all}
.dir-link:hover{color:var(--azzurro-deep)}
.dir-link.done{color:#1f6f43;text-decoration:none}
.flt-inline{background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:12px 16px 8px;margin:0 0 18px}
.flt-inline-head{display:flex;align-items:center;gap:12px;margin-bottom:2px}
.flt-inline-head .side-kicker{margin:0;flex:1}
.alpha-bar a.off{color:#c3ccd8;pointer-events:none}
.page-main{min-width:0}
.page-main>*{max-width:none;padding-left:0;padding-right:0}
@media (min-width:1024px){.page-main .dir-list{grid-template-columns:1fr 1fr}}
.page-side{position:sticky;top:calc(var(--hdr-h,70px) - 36px);display:flex;flex-direction:column;gap:16px;padding-top:56px}
@media (max-width:1023px){.page-cols{display:block}.page-side{display:none}}
.side-card{background:var(--card);border:1px solid var(--hair);border-radius:8px;padding:18px 18px 16px}
.side-card .side-title{font-family:var(--sans);color:var(--navy);font-size:1.05rem;font-weight:600;margin:0 0 6px;line-height:1.3}
.quiz-static{border:1px solid var(--hair);border-radius:8px;margin:0 0 8px;padding:0 14px;background:var(--paper)}
.quiz-static summary{font-family:var(--sans);font-weight:600;color:var(--navy);padding:11px 0;cursor:pointer}
.quiz-static p{margin:0 0 12px;font-size:.92rem;color:#3d4452}
.side-card p{margin:0 0 12px;font-size:.86rem;color:var(--muted);line-height:1.5}
.side-kicker{display:block;font-size:.84rem;color:var(--azzurro-deep);font-weight:600;margin-bottom:6px}
.side-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;border:1.5px solid var(--azzurro);background:#fff;color:var(--azzurro);border-radius:4px;padding:9px 14px;font:600 .9rem var(--sans);cursor:pointer;transition:all .15s}
.side-btn:hover:not(:disabled){background:var(--azzurro);color:#fff}
.side-btn.primary{background:var(--azzurro);color:#fff}
.side-btn.primary:hover:not(:disabled){background:var(--azzurro-deep)}
.side-btn:disabled{opacity:.45;cursor:default}
.side-verify{display:flex;gap:8px;margin-bottom:10px}
.side-verify input{flex:1;min-width:0;border:1.5px solid var(--hair);border-radius:4px;padding:9px 11px;font:.9rem var(--sans);background:var(--paper);color:var(--ink)}
.side-verify input:focus{outline:0;border-color:var(--azzurro);background:#fff}
.side-verify button{flex:none;border:0;background:var(--navy);color:#fff;border-radius:4px;padding:0 14px;font:600 .86rem var(--sans);cursor:pointer}
.cmp-chips{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;min-height:34px}
.cmp-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--hair);border-radius:4px;padding:6px 8px 6px 10px;background:var(--paper);font-size:.86rem;color:var(--ink)}
.cmp-chip img{height:20px;width:auto;max-width:72px;object-fit:contain}
.cmp-chip b{flex:1;font-weight:600;font-family:var(--sans)}
.cmp-chip button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 4px}
.cmp-chip button:hover{color:var(--ink)}
.cmp-empty{font-size:.82rem;color:var(--muted);border:1px dashed var(--hair);border-radius:8px;padding:9px 10px;text-align:center}
.cmp-add{position:relative;margin:0 0 10px}
.cmp-add input{width:100%;box-sizing:border-box;border:1.5px solid var(--hair);border-radius:4px;padding:9px 11px;font:.9rem var(--sans);background:var(--paper);color:var(--ink)}
.cmp-add input:focus{outline:0;border-color:var(--azzurro);background:#fff}
.cmp-add-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--hair);border-radius:4px;box-shadow:0 10px 28px rgba(8,24,49,.14);max-height:250px;overflow:auto}
.cmp-add-list li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:.86rem;color:var(--ink)}
.cmp-add-list li:hover{background:var(--paper)}
.cmp-add-list li img{height:18px;width:auto;max-width:64px;object-fit:contain}
.cmp-add-list li b{flex:1;font-weight:600;font-family:var(--sans)}
.cmp-add-list li small{color:var(--muted);font-size:.74rem;white-space:nowrap}
.cmp-add-list li.on small{color:var(--azzurro);font-weight:600}
.cmp-add-list li.full,.cmp-add-list li.none{cursor:default;color:var(--muted)}
.cmp-add-list li.full:hover,.cmp-add-list li.none:hover{background:none}
/* mobile index: floating button (mirrors the back-to-top on the left) + dialog */
.toc-fab{position:fixed;left:calc(env(safe-area-inset-left,0px) + 28px);bottom:calc(env(safe-area-inset-bottom,0px) + 28px);z-index:90;display:none;align-items:center;gap:8px;border:0;border-radius:8px;background:var(--navy);color:#fff;height:48px;padding:0 18px 0 14px;font:600 .86rem var(--sans);cursor:pointer;box-shadow:0 6px 20px rgba(8,24,45,.25);opacity:0;pointer-events:none;transition:opacity .25s ease,background .15s ease}
.toc-fab svg{width:18px;height:18px;flex:none}
.toc-fab.visible{opacity:1;pointer-events:auto}
.toc-fab:hover{background:var(--navy-deep)}
.toc-fab:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:1279px){.toc-fab{display:inline-flex}}
@media (max-width:640px){.toc-fab{left:calc(env(safe-area-inset-left,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);height:44px;padding:0 16px 0 12px}}
.toc-dlg{border:0;border-radius:8px;padding:0;width:min(400px,calc(100vw - 32px));background:var(--card);color:var(--ink);box-shadow:0 30px 80px rgba(8,24,49,.4)}
.toc-dlg::backdrop{background:rgba(8,24,49,.55)}
.toc-dlg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--hair)}
.toc-dlg-head .side-kicker{margin:0}
.toc-dlg .toc{padding:10px 12px 14px;max-height:calc(100vh - 140px);overflow:auto}
.toc-dlg .toc a{font-size:.95rem;padding:9px 10px 9px 12px}
@media (max-width:640px){.toc-dlg{margin:auto 0 0;width:100vw;max-width:none;border-radius:12px 12px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.toc-dlg .toc{max-height:calc(100vh - 180px)}}
/* compare toggle on cards */
.op-cmp{position:absolute;left:14px;top:10px;border:1px solid var(--hair);background:#fff;color:var(--azzurro);border-radius:4px;padding:3px 10px;font:600 .7rem var(--sans);cursor:pointer;transition:all .15s;z-index:2}
.op-cmp:hover{border-color:var(--azzurro)}
.op-cmp.on{background:var(--azzurro);border-color:var(--azzurro);color:#fff}
.op-cmp:disabled{opacity:.4;cursor:default}
.op-cmp-go{position:absolute;left:118px;top:10px;border:0;background:var(--navy);color:#fff;border-radius:4px;padding:4px 11px;font:600 .7rem var(--sans);cursor:pointer;z-index:2;display:none}
.op-card.in-cmp .op-cmp-go{display:inline-flex}
/* bottom bar */
/* sticky (not fixed): the artifact host does not render fixed elements on mobile; sticks to the viewport bottom while the grid is on screen */
.cmp-bar{display:none;position:sticky;top:var(--hdr-h,64px);z-index:45;margin:0 0 14px;background:var(--navy);color:#fff;box-shadow:0 8px 24px rgba(8,24,49,.25)}
.cmp-bar.show{display:block}
.cmp-bar-inner{max-width:1140px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.cmp-bar-count{font-size:.9rem;color:#c3cedd}
.cmp-bar-count b{color:#fff;font-weight:600}
.cmp-bar-logos{display:flex;gap:6px;flex:1;min-width:0}
.cmp-bar-logos span{display:inline-flex;align-items:center;justify-content:center;background:#eef1f6;border-radius:8px;height:34px;padding:0 8px}
.cmp-bar-logos img{height:20px;width:auto;max-width:80px;object-fit:contain}
.cmp-bar-btn{border:0;border-radius:4px;padding:9px 18px;font:600 .9rem var(--sans);cursor:pointer;background:var(--azzurro);color:#fff}
.cmp-bar-btn:hover:not(:disabled){background:#2f74c2}
.cmp-bar-btn:disabled{opacity:.45;cursor:default}
.cmp-bar-clear{border:0;background:none;color:#c3cedd;font:.86rem var(--sans);cursor:pointer;text-decoration:underline}
body.cmp-open .page-side{top:calc(var(--hdr-h,70px) + var(--bar-h,54px) - 36px)}
/* compare dialog */
.cmp-dlg{border:0;border-radius:8px;padding:0;max-width:min(1140px,calc(100vw - 32px));width:100%;background:var(--card);color:var(--ink);box-shadow:0 30px 80px rgba(8,24,49,.4)}
.cmp-dlg[open]{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}
.cmp-dlg::backdrop{background:rgba(8,24,49,.55)}
.cmp-dlg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 14px;border-bottom:1px solid var(--hair)}
.cmp-dlg-head .cmp-dlg-title{margin:0;font-family:var(--sans);font-size:1.35rem;font-weight:600;color:var(--navy)}
.cmp-dlg-head p{margin:4px 0 0;font-size:.84rem;color:var(--muted)}
.cmp-close{border:1px solid var(--hair);background:#fff;border-radius:4px;width:38px;height:38px;font-size:1.2rem;cursor:pointer;color:var(--ink);flex:none}
.cmp-scroll{overflow:auto;flex:1;min-height:0;padding:0 24px 22px}
.cmp-table tr:first-child th,.cmp-table tr:first-child td{position:sticky;top:0;z-index:2;background:var(--card);box-shadow:0 1px 0 var(--hair)}
.cmp-table tr:first-child th{z-index:3}
.cmp-table{border-collapse:separate;border-spacing:0;width:100%;min-width:640px;font-size:.9rem}
.cmp-table th,.cmp-table td{padding:12px 14px;border-bottom:1px solid var(--hair);vertical-align:top;text-align:left}
.cmp-table th{width:170px;font:600 .8rem var(--sans);color:var(--navy);position:sticky;left:0;background:var(--card)}
.cmp-table thead td{padding-top:20px}
.cmp-table tbody tr:last-child td,.cmp-table tbody tr:last-child th{border-bottom:0}
.cmp-logo{display:flex;align-items:center;justify-content:center;background:#eef1f6;border-radius:4px;height:64px;padding:0 14px}
.cmp-logo img{max-height:36px;width:auto;max-width:150px;object-fit:contain}
.cmp-table .num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--navy)}
.cmp-chipset{display:flex;flex-wrap:wrap;gap:5px}
.cmp-chipset span{border:1px solid var(--rule2);border-radius:4px;padding:2px 8px;font-size:.76rem;color:var(--ink);background:var(--paper)}
.cmp-chipset span.game{border-color:#c9daf0;background:#eef4fb;color:var(--azzurro-deep)}
.cmp-chipset span.app{border-color:#cfe3d6;background:#f3f9f5;color:#1f6f43}
.cmp-note{font-size:.78rem;color:var(--muted);margin-top:4px}
.cmp-none{font-size:.82rem;color:var(--muted)}
.cmp-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--azzurro);color:#fff;border-radius:4px;padding:9px 16px;font-weight:700;text-decoration:none;font-size:.9rem}
.cmp-cta:hover{background:var(--azzurro-deep)}
.cmp-dlg-foot{padding:0 24px 20px;font-size:.78rem;color:var(--muted)}
/* verifier */
.verify{max-width:1140px;margin:22px auto 0;padding:0 20px}
.verify-box{border:1px solid var(--hair);border-left:5px solid var(--muted);border-radius:8px;background:var(--card);padding:16px 20px;display:grid;grid-template-columns:1fr;gap:6px}
.verify-box.ok{border-left-color:var(--verified);background:#f3f9f5}
.verify-box.ko{border-left-color:#a12c2c;background:#fbf3f3}
.verify-box.warn{border-left-color:#a08b4a;background:#fbf8f1}
.verify-kicker{font:600 .84rem var(--sans);color:var(--azzurro-deep)}
.verify-box.ok .verify-kicker{color:var(--verified)}
.verify-box.ko .verify-kicker{color:#a12c2c}
.verify-box.warn .verify-kicker{color:#7a6530}
.verify-box h3{margin:0;font-family:var(--serif);font-size:1.12rem;color:var(--navy);font-weight:600}
.verify-box p{margin:0;font-size:.9rem;color:#3d4452;line-height:1.55}
.verify-box .verify-src{font-size:.76rem;color:var(--muted);margin-top:4px}
.verify-box a{color:var(--azzurro)}
.verify-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.verify-list span{font:.8rem var(--sans);background:#fff;border:1px solid var(--hair);border-radius:6px;padding:2px 8px;color:#3d4452;font-variant-numeric:tabular-nums}
/* quiz */
.quiz{margin:56px 0 8px;background:var(--card);border:1px solid var(--hair);border-radius:8px;overflow:hidden}
.quiz-head{padding:22px 26px 18px;background:linear-gradient(180deg,#0c2340,#12315a);color:#f2f4f8}
.quiz-head .side-kicker{color:#8fb3d9}
.quiz-head h2{color:#fff;margin:0 0 6px;font-size:1.45rem}
.quiz-head p{margin:0;color:#c3cedd;font-size:.92rem}
.quiz-body{padding:22px 26px 24px}
.quiz-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.8rem;color:var(--muted)}
.quiz-progress .bar{flex:1;height:4px;background:var(--hair);border-radius:2px;overflow:hidden}
.quiz-progress .bar i{display:block;height:100%;background:var(--azzurro);width:0;transition:width .3s}
.quiz-q{font-family:var(--sans);font-size:1.15rem;color:var(--navy);font-weight:600;margin:0 0 16px;line-height:1.35}
.quiz-opts{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.quiz-opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:1.5px solid var(--hair);background:var(--paper);border-radius:4px;padding:12px 14px;font:.94rem var(--sans);color:var(--ink);cursor:pointer;transition:all .15s;line-height:1.45}
.quiz-opt:hover:not(:disabled){border-color:var(--azzurro);background:#fff}
.quiz-opt .k{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--hair);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;color:var(--muted);background:#fff}
.quiz-opt:disabled{cursor:default}
.quiz-opt.right{border-color:var(--verified);background:var(--verified-bg)}
.quiz-opt.right .k{background:var(--verified);border-color:var(--verified);color:#fff}
.quiz-opt.wrong{border-color:#c98a8a;background:#fbf3f3}
.quiz-opt.wrong .k{background:#a12c2c;border-color:#a12c2c;color:#fff}
.quiz-why{margin:14px 0 0;padding:14px 16px;border-left:4px solid var(--azzurro);background:#eef4fb;border-radius:0 10px 10px 0;font-size:.9rem;color:#3d4452;line-height:1.55}
.quiz-why b{color:var(--navy)}
.quiz-actions{display:flex;justify-content:flex-end;margin-top:16px}
.quiz-next{border:0;background:var(--azzurro);color:#fff;border-radius:4px;padding:10px 20px;font:600 .9rem var(--sans);cursor:pointer}
.quiz-next:hover{background:var(--azzurro-deep)}
.quiz-result{text-align:left}
.quiz-score{font-family:var(--sans);font-size:2.6rem;color:var(--navy);font-weight:600;line-height:1;margin:6px 0 10px;font-variant-numeric:tabular-nums}
.quiz-score small{font-size:1.1rem;color:var(--muted);font-weight:400}
.quiz-result p{font-size:.95rem;color:#3d4452;line-height:1.6;margin:0 0 14px}
.quiz-links{display:flex;flex-wrap:wrap;gap:10px}
.quiz-links a{border:1.5px solid var(--azzurro);color:var(--azzurro);border-radius:4px;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none}
.quiz-links a:hover{background:var(--azzurro);color:#fff}
.quiz-restart{border:0;background:none;color:var(--muted);font:.86rem var(--sans);cursor:pointer;text-decoration:underline;margin-left:auto}
@media (max-width:640px){.quiz-head,.quiz-body{padding-left:18px;padding-right:18px}.cmp-dlg-head{padding:16px 16px 12px}.cmp-scroll{padding:0 16px 16px}.cmp-dlg-foot{padding:0 16px 16px}}
@media (prefers-reduced-motion:reduce){.cmp-bar,.quiz-progress .bar i{transition:none}}
@media (max-width:640px){.cmp-bar-logos,.cmp-bar-max{display:none}.cmp-bar-count{flex:1;white-space:nowrap}.cmp-bar-inner{gap:10px}}
@media (max-width:820px){
.cmp-dlg{max-width:calc(100vw - 16px);max-height:calc(100vh - 24px)}
.cmp-scroll{overflow-x:hidden}
.cmp-table tr:first-child{position:sticky;top:0;z-index:2;background:var(--card)}
.cmp-table tr:first-child th,.cmp-table tr:first-child td{position:static;box-shadow:none}
.cmp-table,.cmp-table tbody{display:block;min-width:0;width:100%;font-size:.84rem}
.cmp-table tr{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));column-gap:10px;padding:12px 0;border-bottom:1px solid var(--hair)}
.cmp-table tbody tr:last-child{border-bottom:0}
.cmp-table th{grid-column:1/-1;position:static;width:auto;padding:0 0 8px;border-bottom:0;font-size:.78rem}
.cmp-table td{padding:0;border-bottom:0;min-width:0;overflow-wrap:anywhere}
.cmp-table thead td{padding-top:0}
.cmp-logo{height:44px;padding:0 6px}
.cmp-logo img{max-width:100%;max-height:28px}
.cmp-chipset{gap:4px}
.cmp-chipset span{font-size:.68rem;padding:2px 7px}
.cmp-cta{width:100%;padding:9px 4px;font-size:.82rem}
}


/* ===== production extras (2026-07-31) ===== */
/* legacy variable aliases used by the kept .article block */
:root{--rule:#dfe3ea;--rule2:#cdd0d6;--slate:#4a5160;--bg-soft:#f6f7f9;--text:#171b26}

/* Conzap base constrains bare header/article/footer elements to 1270px
   (header,article,footer{max-width:1270px;margin:0 auto;padding:...}):
   the site chrome must stay full-bleed at every viewport */
header.site-header,footer.site-footer{max-width:none;min-width:0;padding:0;margin:0}

/* inner pages: classic article container; the home is full-bleed
   (each home section carries its own max-width) */
.article{max-width:1140px;margin:0 auto;padding:28px 20px 48px}
.home .article{max-width:none;padding:0}
/* scoped to NON-home: the home carries its own component styles and this
   generic typography (colors, margins) must never leak into it */
body:not(.home) .article h1{font-family:var(--serif);font-size:2.1rem;line-height:1.18;color:var(--navy);margin:0 0 14px;letter-spacing:-0.012em;font-weight:700}
body:not(.home) .article h2{font-family:var(--serif);font-size:1.55rem;color:var(--navy);margin:44px 0 14px;padding-bottom:7px;border-bottom:1px solid var(--rule);letter-spacing:-0.005em}
body:not(.home) .article h3{font-family:var(--serif);font-size:1.18rem;color:var(--navy);margin:28px 0 10px}
body:not(.home) .article blockquote{margin:18px 0;padding:12px 18px;background:var(--bg-soft);border-left:3px solid var(--azzurro);color:var(--slate);font-size:.94rem;border-radius:0 4px 4px 0}
body:not(.home) .article blockquote p{margin:0}
body:not(.home) .article p{margin:0 0 14px}
body:not(.home) .article ul,body:not(.home) .article ol{margin:0 0 14px;padding-left:22px}
body:not(.home) .article li{margin:5px 0}
body:not(.home) .article hr{border:none;border-top:1px solid var(--rule);margin:26px 0}

/* wp_nav_menu wraps items in <li>: flatten them inside the flex nav */
.main-nav li{list-style:none;display:contents}

/* hamburger (from the previous chrome, gold accents removed) */
.hamburger{display:none;background:transparent;border:none;color:#fff;cursor:pointer;padding:0;width:44px;height:44px;align-items:center;justify-content:center;margin-left:auto;position:relative;flex:none}
.hamburger svg{width:24px;height:24px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity .2s ease}
.hamburger .icon-x{opacity:0;pointer-events:none}
.hamburger[aria-expanded="true"] .icon-ham{opacity:0}
.hamburger[aria-expanded="true"] .icon-x{opacity:1}
.hamburger:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}
@media (max-width:920px){
  .hamburger{display:flex}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 12px 24px rgba(0,0,0,.25);padding:6px 0;z-index:80;gap:0;margin-left:0}
  .main-nav.open{display:flex}
  .main-nav a{padding:14px 24px;font-size:1rem;border-bottom:2px solid rgba(255,255,255,.08);margin:0 24px}
}

/* back-to-top (previous chrome version: safe-area aware) */
.back-to-top{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);right:calc(env(safe-area-inset-right,0px) + 28px);width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;border:none;cursor:pointer;box-shadow:0 6px 20px rgba(8,24,45,.25);transition:opacity .25s ease, background .15s ease;z-index:90;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;padding:0;transform:translateZ(0);will-change:opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{background:var(--navy-deep)}
.back-to-top:focus-visible{outline:2px solid #fff;outline-offset:3px}
.back-to-top svg{width:18px;height:18px;pointer-events:none}
@media (max-width:640px){.back-to-top{bottom:calc(env(safe-area-inset-bottom,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px);width:44px;height:44px}}
